package com.cskaoyan.javse.oop3._2inner._2static._2classload;

/**
 * @description: 静态内部类的类加载和外围类没有关系
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * 做实验最重要的原则是控制变量，所以外围类中不要直接写main方法
 *
 * 静态内部类的类加载创建对象都和外围类没有直接关系，不会互相触发
 *
 */
public class Demo {
    //static {
    //    System.out.println("demo类加载！");
    //}

    //定义静态内部类
    //static class StaticInnerClazz {
    //    static {
    //        System.out.println("StaticInnerClazz类加载了！");
    //    }
    //}
    public static void main(String[] args) {
        //创建静态内部类对象
        //StaticInnerClazz sic = new StaticInnerClazz();

        EnclosedClazz.StaticInnerClazz sic = new EnclosedClazz.StaticInnerClazz();
    }
}

class EnclosedClazz {
    static {
        System.out.println("EnclosedClazz类加载！");
    }

    //定义静态内部类
    static class StaticInnerClazz {
        static {
            System.out.println("StaticInnerClazz类加载了！");
        }
    }
}